package football.modele;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;

@Entity
public class But implements Serializable, Comparable<But> {

	private static final long serialVersionUID = -1065864281483674804L;
	private int idBut;
	private Match match;
	private Equipe equipe;
	private Joueur auteur;
	private int heureBut;
	private Boolean prolongations;
	private Boolean tirsAuxButs;

	public But(Match match, Equipe equipe, Joueur auteur, int heureBut,
			Boolean prolongations, Boolean tirsAuxButs) {
		super();
		this.match = match;
		this.equipe = equipe;
		this.auteur = auteur;
		this.heureBut = heureBut;
		this.prolongations = prolongations;
		this.tirsAuxButs = tirsAuxButs;
	}

	public But() {
		super();
	}

	public But(Joueur auteur, Equipe equipe, int heureBut,
			Boolean prolongations, Boolean tirsAuxButs) {
		super();
		this.heureBut = heureBut;
		this.auteur = auteur;
		this.prolongations = prolongations;
		this.tirsAuxButs = tirsAuxButs;
		this.equipe = equipe;
	}

	@Id
	@GeneratedValue
	public int getIdBut() {
		return idBut;
	}

	public void setIdBut(int idBut) {
		this.idBut = idBut;
	}

	@ManyToOne
	public Match getMatch() {
		return match;
	}

	public void setMatch(Match match) {
		this.match = match;
	}

	@OneToOne
	public Equipe getEquipe() {
		return equipe;
	}

	public void setEquipe(Equipe equipe) {
		this.equipe = equipe;
	}

	public int getHeureBut() {
		return heureBut;
	}

	public void setHeureBut(int heureBut) {
		this.heureBut = heureBut;
	}

	@OneToOne
	public Joueur getAuteur() {
		return auteur;
	}

	public void setAuteur(Joueur auteur) {
		this.auteur = auteur;
	}

	public Boolean getProlongations() {
		return prolongations;
	}

	public void setProlongations(Boolean prolongations) {
		this.prolongations = prolongations;
	}

	public Boolean getTirsAuxButs() {
		return tirsAuxButs;
	}

	public void setTirsAuxButs(Boolean tirsAuxButs) {
		this.tirsAuxButs = tirsAuxButs;
	}

	@Override
	public int compareTo(But o) {
		int nombre1 = o.getHeureBut();
		int nombre2 = this.getHeureBut();
		if (nombre1 > nombre2)
			return -1;
		else if (nombre1 == nombre2)
			return 0;
		else
			return 1;
	}
	
}
